package com.tansun.easycare.rule.scoremodel.entity;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Length;

import com.tansun.easycare.rule.common.entity.RuleBaseEntity;

/**
 * 评分模型指标信息Entity
 *
 * @author lph
 * @version 2017-03-29
 */
public class RuleScore extends RuleBaseEntity<RuleScore> {

    private static final long serialVersionUID = 1L;
    private String manageId;        // 关联规则模型ID
    private String version;        // 版本号
    private String projectCode;        // 规则项目编码
    private String className;        // 数据集名
    private String namecn;        // 变量中文
    private String nameen;        // 变量英文
    private String contentType;        // 评分数据类型  分段细分\汇总衍生
    private String treeId;        // 表格树ID
    private Double scoreParam;        // 权重
    private String dataType;        // 数据类型
    private String defaultValue;        // 变量默认值
    private String domain;        // 域值，区间
    private Integer position;        // 集合类型变量下标
    private String isDerives;        // 是否衍生
    private Integer seq;        // 排序号
    private String formulaLabel;        // 公式文本
    private String formula;        // 公式
    /**
     * 是否函数变量
     */
    private String isfuncparam;
    public RuleScore() {
        super();
    }

    public RuleScore(String id) {
        super(id);
    }

    @Length(min = 1, max = 50, message = "关联规则模型ID长度必须介于 1 和 50 之间")
    public String getManageId() {
        return manageId;
    }

    public void setManageId(String manageId) {
        this.manageId = manageId;
    }

    @Length(min = 0, max = 10, message = "版本号长度必须介于 0 和 10 之间")
    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    @Length(min = 1, max = 50, message = "规则项目编码长度必须介于 1 和 50 之间")
    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    @Length(min = 1, max = 50, message = "数据集名长度必须介于 1 和 50 之间")
    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getNamecn() {
        return namecn;
    }

    public void setNamecn(String namecn) {
        this.namecn = namecn;
    }

    public String getNameen() {
        return nameen;
    }

    public void setNameen(String nameen) {
        this.nameen = nameen;
    }

    @Length(min = 0, max = 50, message = "评分数据类型  分段细分、汇总衍生长度必须介于 0 和 50 之间")
    public String getContentType() {
        return contentType;
    }

    public void setContentType(String contentType) {
        this.contentType = contentType;
    }

    @Length(min = 0, max = 50, message = "表格树ID长度必须介于 0 和 50 之间")
    public String getTreeId() {
        return treeId;
    }

    public void setTreeId(String treeId) {
        this.treeId = treeId;
    }

    public Double getScoreParam() {
        return scoreParam;
    }

    public void setScoreParam(Double scoreParam) {
        this.scoreParam = scoreParam;
    }

    @Length(min = 1, max = 50, message = "数据类型长度必须介于 1 和 50 之间")
    public String getDataType() {
        return dataType;
    }

    public void setDataType(String dataType) {
        this.dataType = dataType;
    }

    @Length(min = 1, max = 50, message = "变量默认值长度必须介于 1 和 50 之间")
    public String getDefaultValue() {
        return defaultValue;
    }

    public void setDefaultValue(String defaultValue) {
        this.defaultValue = defaultValue;
    }

    @Length(min = 1, max = 50, message = "域值，区间长度必须介于 1 和 50 之间")
    public String getDomain() {
        return domain;
    }

    public void setDomain(String domain) {
        this.domain = domain;
    }

    @NotNull(message = "集合类型变量下标不能为空")
    public Integer getPosition() {
        return position;
    }

    public void setPosition(Integer position) {
        this.position = position;
    }

    @Length(min = 1, max = 10, message = "是否衍生长度必须介于 1 和 10 之间")
    public String getIsDerives() {
        return isDerives;
    }

    public void setIsDerives(String isDerives) {
        this.isDerives = isDerives;
    }

    public Integer getSeq() {
        return seq;
    }

    public void setSeq(Integer seq) {
        this.seq = seq;
    }

    public String getFormulaLabel() {
        return formulaLabel;
    }

    public void setFormulaLabel(String formulaLabel) {
        this.formulaLabel = formulaLabel;
    }

    public String getFormula() {
        return formula;
    }

    public void setFormula(String formula) {
        this.formula = formula;
    }

	public String getIsfuncparam() {
		return isfuncparam;
	}

	public void setIsfuncparam(String isfuncparam) {
		this.isfuncparam = isfuncparam;
	}

}